// 面包屑路由数据
import { defineStore } from 'pinia'
import { ref } from 'vue'

export const useNavigationStore = defineStore('navigation', {
  state: () => ({
    data: ref([])
  }),
  actions: {
    savePath(path, name,query) {
      // 使用 this.$state.data 来访问 state 中的 data  
      for (let i = 0; i < this.$state.data.length; i++) {
        if (this.$state.data[i].path === path) {
          // 注意修正 splice 的用法，应该传入开始索引和删除的元素数量  
          this.$state.data.splice(i + 1)
          return
        }
      }
      this.$state.data.push({
        path: path,
        name: name,
        query:query
      }) 
    },

    clearPath() {
      this.$state.data = []
    }
  },
  // 使用 pinia-plugin-persist 的 persist 选项  
  persist: {
    enabled: true, // 开启持久化  
    strategies: [
      {
        key: 'navigation_data', // 存储的 key，可以自定义  
        storage: localStorage, // 或 sessionStorage  
        paths: ['data'] // 需要持久化的 state 路径数组  
      }
    ]
  }
})